home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / dlals0.z / dlals0
Encoding:
Text File  |  2002-10-03  |  8.5 KB  |  265 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAALLLLSSSS0000((((3333SSSS))))                                                          DDDDLLLLAAAALLLLSSSS0000((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLALS0 - applie back the multiplying factors of either the left or the
  10.      right singular vector matrix of a diagonal matrix appended by a row to
  11.      the right hand side matrix B in solving the least squares problem using
  12.      the divide-and-conquer SVD approach
  13.  
  14. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  15.      SUBROUTINE DLALS0( ICOMPQ, NL, NR, SQRE, NRHS, B, LDB, BX, LDBX, PERM,
  16.                         GIVPTR, GIVCOL, LDGCOL, GIVNUM, LDGNUM, POLES, DIFL,
  17.                         DIFR, Z, K, C, S, WORK, INFO )
  18.  
  19.          INTEGER        GIVPTR, ICOMPQ, INFO, K, LDB, LDBX, LDGCOL, LDGNUM,
  20.                         NL, NR, NRHS, SQRE
  21.  
  22.          DOUBLE         PRECISION C, S
  23.  
  24.          INTEGER        GIVCOL( LDGCOL, * ), PERM( * )
  25.  
  26.          DOUBLE         PRECISION B( LDB, * ), BX( LDBX, * ), DIFL( * ), DIFR(
  27.                         LDGNUM, * ), GIVNUM( LDGNUM, * ), POLES( LDGNUM, * ),
  28.                         WORK( * ), Z( * )
  29.  
  30. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  31.      These routines are part of the SCSL Scientific Library and can be loaded
  32.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  33.      directs the linker to use the multi-processor version of the library.
  34.  
  35.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  36.      4 bytes (32 bits). Another version of SCSL is available in which integers
  37.      are 8 bytes (64 bits).  This version allows the user access to larger
  38.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  39.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  40.      only one of the two versions; 4-byte integer and 8-byte integer library
  41.      calls cannot be mixed.
  42.  
  43. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  44.      DLALS0 applies back the multiplying factors of either the left or the
  45.      right singular vector matrix of a diagonal matrix appended by a row to
  46.      the right hand side matrix B in solving the least squares problem using
  47.      the divide-and-conquer SVD approach. For the left singular vector matrix,
  48.      three types of orthogonal matrices are involved:
  49.  
  50.      (1L) Givens rotations: the number of such rotations is GIVPTR; the
  51.           pairs of columns/rows they were applied to are stored in GIVCOL;
  52.           and the C- and S-values of these rotations are stored in GIVNUM.
  53.  
  54.      (2L) Permutation. The (NL+1)-st row of B is to be moved to the first
  55.           row, and for J=2:N, PERM(J)-th row of B is to be moved to the
  56.           J-th row.
  57.  
  58.      (3L) The left singular vector matrix of the remaining matrix.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAALLLLSSSS0000((((3333SSSS))))                                                          DDDDLLLLAAAALLLLSSSS0000((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      For the right singular vector matrix, four types of orthogonal matrices
  75.      are involved:
  76.  
  77.      (1R) The right singular vector matrix of the remaining matrix.
  78.  
  79.      (2R) If SQRE = 1, one extra Givens rotation to generate the right
  80.           null space.
  81.  
  82.      (3R) The inverse transformation of (2L).
  83.  
  84.      (4R) The inverse transformation of (1L).
  85.  
  86.  
  87. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  88.      ICOMPQ (input) INTEGER Specifies whether singular vectors are to be
  89.      computed in factored form:
  90.      = 0: Left singular vector matrix.
  91.      = 1: Right singular vector matrix.
  92.  
  93.      NL     (input) INTEGER
  94.             The row dimension of the upper block. NL >= 1.
  95.  
  96.      NR     (input) INTEGER
  97.             The row dimension of the lower block. NR >= 1.
  98.  
  99.      SQRE   (input) INTEGER
  100.             = 0: the lower block is an NR-by-NR square matrix.
  101.             = 1: the lower block is an NR-by-(NR+1) rectangular matrix.
  102.  
  103.             The bidiagonal matrix has row dimension N = NL + NR + 1, and
  104.             column dimension M = N + SQRE.
  105.  
  106.      NRHS   (input) INTEGER
  107.             The number of columns of B and BX. NRHS must be at least 1.
  108.  
  109.      B      (input/output) DOUBLE PRECISION array, dimension ( LDB, NRHS )
  110.             On input, B contains the right hand sides of the least squares
  111.             problem in rows 1 through M. On output, B contains the solution X
  112.             in rows 1 through N.
  113.  
  114.      LDB    (input) INTEGER
  115.             The leading dimension of B. LDB must be at least max(1,MAX( M, N )
  116.             ).
  117.  
  118.      BX     (workspace) DOUBLE PRECISION array, dimension ( LDBX, NRHS )
  119.  
  120.      LDBX   (input) INTEGER
  121.             The leading dimension of BX.
  122.  
  123.      PERM   (input) INTEGER array, dimension ( N )
  124.             The permutations (from deflation and sorting) applied to the two
  125.             blocks.
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. DDDDLLLLAAAALLLLSSSS0000((((3333SSSS))))                                                          DDDDLLLLAAAALLLLSSSS0000((((3333SSSS))))
  137.  
  138.  
  139.  
  140.             GIVPTR (input) INTEGER The number of Givens rotations which took
  141.             place in this subproblem.
  142.  
  143.             GIVCOL (input) INTEGER array, dimension ( LDGCOL, 2 ) Each pair of
  144.             numbers indicates a pair of rows/columns involved in a Givens
  145.             rotation.
  146.  
  147.             LDGCOL (input) INTEGER The leading dimension of GIVCOL, must be at
  148.             least N.
  149.  
  150.             GIVNUM (input) DOUBLE PRECISION array, dimension ( LDGNUM, 2 )
  151.             Each number indicates the C or S value used in the corresponding
  152.             Givens rotation.
  153.  
  154.             LDGNUM (input) INTEGER The leading dimension of arrays DIFR, POLES
  155.             and GIVNUM, must be at least K.
  156.  
  157.      POLES  (input) DOUBLE PRECISION array, dimension ( LDGNUM, 2 )
  158.             On entry, POLES(1:K, 1) contains the new singular values obtained
  159.             from solving the secular equation, and POLES(1:K, 2) is an array
  160.             containing the poles in the secular equation.
  161.  
  162.      DIFL   (input) DOUBLE PRECISION array, dimension ( K ).
  163.             On entry, DIFL(I) is the distance between I-th updated
  164.             (undeflated) singular value and the I-th (undeflated) old singular
  165.             value.
  166.  
  167.      DIFR   (input) DOUBLE PRECISION array, dimension ( LDGNUM, 2 ).
  168.             On entry, DIFR(I, 1) contains the distances between I-th updated
  169.             (undeflated) singular value and the I+1-th (undeflated) old
  170.             singular value. And DIFR(I, 2) is the normalizing factor for the
  171.             I-th right singular vector.
  172.  
  173.      Z      (input) DOUBLE PRECISION array, dimension ( K )
  174.             Contain the components of the deflation-adjusted updating row
  175.             vector.
  176.  
  177.      K      (input) INTEGER
  178.             Contains the dimension of the non-deflated matrix, This is the
  179.             order of the related secular equation. 1 <= K <=N.
  180.  
  181.      C      (input) DOUBLE PRECISION
  182.             C contains garbage if SQRE =0 and the C-value of a Givens rotation
  183.             related to the right null space if SQRE = 1.
  184.  
  185.      S      (input) DOUBLE PRECISION
  186.             S contains garbage if SQRE =0 and the S-value of a Givens rotation
  187.             related to the right null space if SQRE = 1.
  188.  
  189.      WORK   (workspace) DOUBLE PRECISION array, dimension ( K )
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. DDDDLLLLAAAALLLLSSSS0000((((3333SSSS))))                                                          DDDDLLLLAAAALLLLSSSS0000((((3333SSSS))))
  203.  
  204.  
  205.  
  206.      INFO   (output) INTEGER
  207.             = 0:  successful exit.
  208.             < 0:  if INFO = -i, the i-th argument had an illegal value.
  209.  
  210. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  211.      Based on contributions by
  212.         Ming Gu and Ren-Cang Li, Computer Science Division, University of
  213.           California at Berkeley, USA
  214.         Osni Marques, LBNL/NERSC, USA
  215.  
  216.  
  217. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  218.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  219.  
  220.      This man page is available only online.
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.